home *** CD-ROM | disk | FTP | other *** search
/ Revolution - Das Atari CD Magazin 1997 / Revolution - Das Atari CD Magazin 1.iso / software / progtool / olga / olga.lzh / olgalib / OLGA.H next >
C/C++ Source or Header  |  1996-06-02  |  4KB  |  124 lines

  1. /*
  2.     OLGA - Implementierung des OLGA-Protokolls von Th. Much für Pure C
  3.     ------------------------------------------------------------------
  4.     
  5.     geschrieben 1995 von
  6.     Thomas Künneth
  7.     Friedrich-Neuper-Str. 2b
  8.     90552 Röthenbach
  9. */
  10.  
  11. #ifndef _OLGA_
  12. #define _OLGA_
  13.  
  14. #ifndef _MAGICTYP_
  15.     #ifndef _DANDY_
  16.         #ifndef BOOLEAN
  17.            typedef enum {FALSE,TRUE} BOOLEAN;
  18.         #endif
  19.     #endif
  20. #endif
  21.  
  22. #define OL_SERVER    0x0001    /* Applikation ist OL-Server */
  23. #define OL_CLIENT    0x0002    /* Applikation ist OL-Client */
  24. #define    OL_PIPES    0x1000    /* Kommunikation via MultiTOS-Pipes */
  25. #define    OL_START    0x2000    /* Manager kann OLGA_START ausführen */
  26. #define OL_MANAGER    0x4000    /* Applikation ist der OLGA-Manager */
  27. #define OL_OEP        0x0001    /* Applikation versteht OEP */
  28.  
  29. #define OLS_TYPE        0x0001    /* [4]=0, in [5] steht ein
  30.                                     XAcc-Programmtyp */
  31. #define OLS_EXTENSION    0x0002    /* in [4]+[5] steht eine Extension
  32.                                     (z.B. ".GEM") */
  33. #define OLS_NAME        0x0003    /* in [4]+[5] steht ein Pointer auf den
  34.                                     absoluten Dateinamen der zu startenden
  35.                                     Applikation */
  36.  
  37. #define    OLE_INIT            0x4950
  38. #define    OLE_EXIT            0x4951
  39. #define    OLE_NEW                0x4952
  40.  
  41. #define    OLGA_INIT            0x1236
  42. #define    OLGA_UPDATE            0x1238
  43. #define    OLGA_ACK            0x1239
  44. #define    OLGA_RENAME            0x123a
  45. #define    OLGA_OPENDOC        0x123b
  46. #define    OLGA_CLOSEDOC        0x123c
  47. #define    OLGA_LINK            0x123d
  48. #define    OLGA_UNLINK            0x123e
  49. #define    OLGA_UPDATED        0x123f
  50. #define    OLGA_RENAMELINK        0x1240
  51. #define    OLGA_LINKRENAMED    0x1241
  52. #define    OLGA_BLOCK            0x1242
  53. #define    OLGA_UNBLOCK        0x1243
  54. #define    OLGA_BREAKLINK        0x1244
  55. #define    OLGA_LINKBROKEN        0x1245
  56. #define    OLGA_START            0x1246
  57. #define    OLGA_GETINFO        0x1247
  58. #define    OLGA_INFO            0x1248
  59.  
  60.  
  61. /* --- Makros für SC_CHANGED ---
  62.    ----------------------------- */
  63.  
  64. #ifndef SC_CHANGED
  65.     #define SC_CHANGED    0x50
  66. #endif
  67. #ifndef SCF_INDEF
  68.     #define SCF_INDEF   0x0000
  69.     #define SCF_DBASE   0x0001    /* Datenbank-Dateien
  70.                                    (".DBF", ".CSV", ...) */
  71.     #define SCF_TEXT    0x0002    /* Textdateien
  72.                                    (".TXT", ".ASC", ".RTF", ".DOC", ...) */
  73.     #define SCF_VECTOR  0x0004    /* Vektorgrafik
  74.                                    (".GEM", ".EPS", ".CVG", ".DXF", ...) */
  75.     #define SCF_RASTER  0x0008    /* Rastergrafik
  76.                                    (".IMG", ".TIF", ".GIF", ... */
  77.     #define SCF_SHEET   0x0010    /* Tabellenkalkulation
  78.                                    (".DIF", ".WKS", ...) */
  79.     #define SCF_SOUND   0x0020    /* Samples, MIDI-Files, Klänge, ...
  80.                                    (".MOD", ".SND", ...) */
  81.     #define SCF_SYSTEM  0x8000    /* systemrelevante Dateien (z.B. Farbpaletten)
  82.                                    (".GCP", ...) */
  83. #endif
  84.  
  85. /* Das OLGA-Info-Dateiformat
  86.    ========================= */
  87.  
  88. typedef struct {
  89.     long    magic;        /* 'OLGA' */
  90.     int        version,    /* z.Z. 0x100 */
  91.             skip;        /* Anzahl der folgenden Headerbytes, die überlesen
  92.                             werden müssen; z.Z. 0 */
  93. } OLGAInfHeader;
  94.  
  95. typedef struct {
  96.     long    id,            /* Block-ID */
  97.             length;        /* Anzahl der folgenden Datenbytes */
  98. } OLGABlockHeader;
  99.  
  100. /* die Funktionen */
  101. BOOLEAN run_appl(char *appname,char *cmdlin);
  102. void *global_strcpy(char *str);
  103. int get_avserver_id(void);
  104. int xappl_find(char *appname);
  105. void olga_init(int olga_bitmap,int oep_bitmap,int xacc_typ);
  106. void olga_exit(void);
  107. void olga_rename(char *oldname,char *newname);
  108. void olga_breaklink(char *filename);
  109. void olga_opendoc(int olga_groupid);
  110. void olga_closedoc(int olga_groupid);
  111. void olga_link(char *filename,int olga_groupid);
  112. void olga_unlink(char *filename,int olga_groupid);
  113. void olga_start(char *cmdlin,int olga_ols,...);
  114. void sc_changed(int bitmask,long ext);
  115. void olga_info(char *infoname,int apid,int index);
  116. void olga_getinfo(int apid,int index);
  117. void olga_update(char *filename,int index);
  118. void olga_rminfo(char *infoname,int apid,int index);
  119.  
  120. int appl_xgetinfo(int type,int *out1,int *out2,int *out3,int *out4);
  121. BOOLEAN send_msg(int apid,int msg,...);
  122.  
  123. #endif
  124.